Skip to content

chore(deps-dev): drop @wordpress/scripts and share one Playwright config - #835

Merged
josephfusco merged 5 commits into
mainfrom
chore/drop-wp-scripts
Oct 26, 2026
Merged

josephfusco merged 5 commits into
mainfrom
chore/drop-wp-scripts

Conversation

@josephfusco

@josephfusco josephfusco commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Clears 15 of the 17 Dependabot alerts on the root pnpm-lock.yaml, and removes a build toolchain from a repo meant to ship from source with no build step.

Why

@wordpress/scripts was used for exactly one thing: wp-scripts test-playwright and its base Playwright config, in the plugin e2e suites. In exchange it pulled in webpack, Babel, stylelint, markdownlint, and Jest, which brought markdown-it, uuid, postcss-selector-parser, @babel/core, and others into the alerts. @wordpress/jest-console wasn't imported anywhere.

What changes

  • playwright.config.base.js at the root has the same settings as the wp-scripts config, minus its global setup, which every plugin already replaced with its own. hwp-previews, wpgraphql-logging, and hwp-documents import it by relative path and run plain playwright test. Nothing is generated or copied.
  • Removes @wordpress/scripts and @wordpress/jest-console from the root and the plugins.
  • Removes the Playwright tooling from wpgraphql-debug-extensions and wpgraphql-webhooks, which have no e2e tests.
  • Bumps @wordpress/e2e-test-utils-playwright from 1.54 to 3.1, which clears the extract-zip and OpenTelemetry alerts. Its breaking changes are a higher Node minimum and two helpers (switchEditorTool and setGutenbergExperiments) that no spec uses.
  • Raises the root engines.node to >=22.19.0, which e2e-test-utils 3.x requires. CI already runs Node 24, and .nvmrc is lts/krypton.
  • pnpm-lock.yaml drops about 12,600 lines.
  • The e2e workflow installs browsers with the locked Playwright (pnpm exec playwright install --with-deps chromium) instead of pnpm dlx, which fetched the newest Playwright and could drift from the locked @playwright/test. It now installs Chromium only, since that's the only project the config runs.

Remaining alerts

  • http-cache-semantics comes in through @wordpress/env 12, which is already the latest, and there's no upstream fix.
  • braces is a withdrawn advisory.
  • The six Nuxt example alerts need a Nuxt 3 → 4 migration, which belongs in a separate PR.

Testing

  • playwright test --list loads each plugin's config and finds every spec: hwp-previews 20 tests, wpgraphql-logging 8, hwp-documents 3.
  • Checked that no vulnerable version of the cleared packages is left in the lockfile.
  • I couldn't run the e2e suites locally because they need the Docker WordPress environment. The e2e workflow only runs the first changed plugin's suite (hwp-documents here), so it's worth running hwp-previews and wpgraphql-logging by hand before merging.
Use of AI Tools

AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Opus 5.5
Used for: Assisting with tracing the Dependabot alerts to their source, replacing the wp-scripts Playwright config, and updating dependencies.

The plugin configs spread @wordpress/scripts' Playwright config, the only thing
wp-scripts was used for. A root playwright.config.base.js carries the same settings,
and the plugins run plain `playwright test`.
…wright to 3.1

- Remove @wordpress/scripts and the unused @wordpress/jest-console from the root and plugins.
- Remove the Playwright tooling from wpgraphql-debug-extensions and wpgraphql-webhooks,
  which have no E2E tests.
- Bump @wordpress/e2e-test-utils-playwright to ^3.1.0, which needs Node 22.19+, so raise
  the root engines field to match.
@josephfusco josephfusco added [Type] Task Maintenance, upkeep, and other non-functional work dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code [Area] Infrastructure Issues for the repository infrastructure Security Work relates to vulnerabilities or hardening labels Oct 23, 2026
@changeset-bot

changeset-bot Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 2642945

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

📦 Plugin Artifacts Ready!

Download from GitHub Actions run

Available plugins:

  • ✅ hwp-documents.zip
  • ✅ hwp-previews.zip
  • ✅ wpgraphql-debug-extensions.zip
  • ✅ wpgraphql-logging.zip
  • ✅ wpgraphql-webhooks.zip

See the "Artifacts" section at the bottom of the Actions run page

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

🔍 WordPress Plugin Check Report

❌ Status: Failed

📊 Report

🎯 Total Issues ❌ Errors ⚠️ Warnings
1 1 0

❌ Errors (1)

📁 readme.txt (1 error)
📍 Line 🔖 Check 💬 Message
0 outdated_tested_upto_header Tested up to: 6.9 < 7.1. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

🤖 Generated by WordPress Plugin Check Action • Learn more about Plugin Check

@josephfusco
josephfusco merged commit fcc1acd into main Oct 26, 2026
6 checks passed
@josephfusco
josephfusco deleted the chore/drop-wp-scripts branch October 26, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Area] Infrastructure Issues for the repository infrastructure dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code Security Work relates to vulnerabilities or hardening [Type] Task Maintenance, upkeep, and other non-functional work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant